/**
 * 版权所有 2009-2012山东新北洋信息技术股份有限公司
 * 保留所有权利。
 */
package com.linyaonan.leetcode.easy._389;

/**
 * 给定两个字符串 s 和 t，它们只包含小写字母。
 * <p>
 * 字符串 t 由字符串 s 随机重排，然后在随机位置添加一个字母。
 * <p>
 * 请找出在 t 中被添加的字母。
 * <p>
 *  
 * <p>
 * 示例:
 * <p>
 * 输入：
 * s = "abcd"
 * t = "abcde"
 * <p>
 * 输出：
 * e
 * <p>
 * 解释：
 * 'e' 是那个被添加的字母。
 *
 * @ProjectName: leetcode
 * @Package: com.linyaonan.leetcode.easy._389
 * @ClassName: FindTheDifference
 * @Author: linyaonan
 * @Date: 2019/12/26 10:45
 */
public class FindTheDifference {

    public char findTheDifference(String s, String t) {
        if (t.length() == 1) {
            return t.charAt(0);
        }
        int[] p = new int[26];
        for (char c : s.toCharArray()) {
            p[c - 'a']++;
        }
        for (char c : t.toCharArray()) {
            p[c - 'a']--;
        }
        for (int i = 0; i < p.length; i++) {
            if (p[i] == -1) {
                return (char) (i + 'a');
            }
        }
        return 'a';
    }

}
